package cn.itcast.nems.studentrecord.web.vo.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class JournalRenewalPageVO implements Serializable {
    private String id ;
    /**
     * 升级到到目标班级
     */
    private Integer targetClazzId ;
    /**
     * 升级到的目标班级名称
     */
    private String targetClazzName ;
    /**
     * 目标班级原始价格
     */
    private BigDecimal targetClazzPrice;
    /**
     * 目标班级所在校区ID
     */
    private String targetClazzCampusId ;
    /**
     * 目标班级所在校区名称
     */
    private String targetClazzCampusName ;
    /**
     * 升班总学籍数
     */
    private Integer renewalQuantity ;
    /**
     * 已缴费学籍数;基于订单支付事件消息处理：订单来源为“升级”时，通过订单ID查询升级凭单订单关系表确定对应升级凭单并标记状态。
     */
    private Integer paidQuantity;
    /**
     * 状态;枚举值：草稿｜DRAFT、审批中｜PENDING、审批通过处理中｜APPROVED、审批未通过且流程结束｜REJECTED、审批通过并处理完成｜FINISHED
     */
    private String state ;
    /**
     * 备注
     */
    private String remark;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime createdDatetime ;
    private String createdBy ;

    /**
     * 审批单ID
     */
    private String formId ;
    /**
     * category：1：审批）2：知会）
     */
    private Integer category ;
}
